package com.authstr.support;

import java.util.List;
import java.util.Map;

/**
 * 用于存储两个查询结果,比较后的情况.保存差集交集信息,以及一些必要的确认信息
 */
public class CompareResult {

    CompareResult(String[] uniqueColumn){
        this.uniqueColumn=uniqueColumn;
    }



    /**
     * 更新时要忽略的字段
     */
    private String[] updateIgnoreColumn;


    /**
     * 实际需要进行更新和比较的字段
     */
    private List<String> actualNeedUpdateColumn;


    /**
     * 实际需要修改的数据
     */
    private List<String> actualNeedUpdateValue;


    /**
     * 新数据,以Map形式保存
     */
    private Map<String, Map> newDate;


    /**
     * 旧数据,以Map形式保存
     */
    private Map<String, Map> oldDate;

    /**
     * 比较使用的唯一列
     */
    private String[] uniqueColumn;

    /**
     * 新结果减去旧结果的差集
     */
    private List<String> newSubtractOld;

    /**
     * 旧结果减去新结果的差集
     */
    private List<String> oldSubtractNew;

    /**
     * 两个结果的交集
     */
    private List<String> intersection;



    public String[] getUniqueColumn() {
        return uniqueColumn;
    }

    public void setUniqueColumn(String[] uniqueColumn) {
        this.uniqueColumn = uniqueColumn;
    }

    public List<String> getNewSubtractOld() {
        return newSubtractOld;
    }

    public void setNewSubtractOld(List<String> newSubtractOld) {
        this.newSubtractOld = newSubtractOld;
    }

    public List<String> getOldSubtractNew() {
        return oldSubtractNew;
    }

    public void setOldSubtractNew(List<String> oldSubtractNew) {
        this.oldSubtractNew = oldSubtractNew;
    }

    public List<String> getIntersection() {
        return intersection;
    }

    public void setIntersection(List<String> intersection) {
        this.intersection = intersection;
    }

    public Map<String, Map> getNewDate() {
        return newDate;
    }

    public void setNewDate(Map<String, Map> newDate) {
        this.newDate = newDate;
    }

    public Map<String, Map> getOldDate() {
        return oldDate;
    }

    public void setOldDate(Map<String, Map> oldDate) {
        this.oldDate = oldDate;
    }

    public List<String> getActualNeedUpdateColumn() {
        return actualNeedUpdateColumn;
    }

    public void setActualNeedUpdateColumn(List<String> actualNeedUpdateColumn) {
        this.actualNeedUpdateColumn = actualNeedUpdateColumn;
    }
    public String[] getUpdateIgnoreColumn() {
        return updateIgnoreColumn;
    }

    public void setUpdateIgnoreColumn(String[] updateIgnoreColumn) {
        this.updateIgnoreColumn = updateIgnoreColumn;
    }

    public List<String> getActualNeedUpdateValue() {
        return actualNeedUpdateValue;
    }

    public void setActualNeedUpdateValue(List<String> actualNeedUpdateValue) {
        this.actualNeedUpdateValue = actualNeedUpdateValue;
    }
}
